home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / CHANGES-v2.2 < prev    next >
Text File  |  1994-08-01  |  26KB  |  478 lines

  1. $Header: /usr/people/sam/fax/RCS/CHANGES-v2.2,v 1.19 1994/04/10 04:53:30 sam Rel $
  2.  
  3. FlexFAX Software Release 2.2.2
  4.  
  5. FlexFAX, Version 2.2.2 (changes since Release 2.2.1)
  6. ----------------------------------------------------
  7.  
  8. General changes:
  9.     o support has been added for modems that conform to the EIA/TIA-592
  10.       Class 2.0 specification
  11.     o the software now builds under Solaris 2.3 with the SunPRO compiler
  12.       environment
  13.     o software configuration has been extensively modified to reduce the
  14.       number of system-specific files; this should make porting the software
  15.       to new systems easier
  16.     o the BSDI support has been updated to work with BSD/386 1.1
  17.     o the AIX support has been udpated to work with all versions of AIX
  18.       between v3.2.3 extended and v3.2.5
  19.     o the SGI support has been updated to work on IRIX 5.x systems
  20.     o the SCO support has been updated to work on 3.2v4 (ODT 3)
  21.     o support has been added for ISC 4.0
  22.  
  23. Changes in the "top of the tree":
  24.     o the MODEMS file reflects experience working with the Class 2 firmware
  25.       support for the AT&T DataPort
  26.     o configure now automatically generates a port.h file that contains
  27.       function prototype declarations that are missing in the system include
  28.       files, as well as other miscellaneous definitions
  29.     o configure now generates a termios.h file for systems that lack the
  30.       appropriate definitions in the system termios.h file (if one exists)
  31.     o configure is more noisy about what it's doing
  32.     o the pathname of the PostScript imaging program can now be setup
  33.       through configure (it's default value is read from the defs file)
  34.     o configure now corrects pathnames in the xferstats and recvstats
  35.       shell scripts
  36.  
  37. Changes in the prototype config files:
  38.     o the AT&T DataPort Class 1 support now sets NoCarrierRetrys to 3 to
  39.       deal with the modem's braindamaged way of returning "OK" instead of
  40.       "NO ANSWER" when a dial request times out
  41.     o the Telebit file is now used for QBlazer modems with fax support
  42.     o there is a new file for the AT&T DataPort with Class 2 firmware
  43.     o there is a new file for the USR Courier with Class 2.0 firmware
  44.  
  45. Changes in the port tree:
  46.     o the BSDI support has been updated to work with BSD/386 1.1, consult
  47.       port/bsdi/README
  48.     o the AIX support has been udpated to work with all versions of AIX
  49.       between v3.2.3 extended and v3.2.5
  50.     o the SGI support has been updated to work with IRIX 5.2
  51.     o the SVR4 support has been changed to compile the flock emulation code
  52.       into a private library, rather than defining it in a header file
  53.     o the SCO support has been updated to work on 2.3.v4 (ODT 3)
  54.     o port/isc is a new directory containing support for ISC 4.0
  55.  
  56. Changes to faxd:
  57.     o it is now possible to override the +FDCC=? query with fixed values
  58.       (this is to workaround a bug in the AT&T DataPort Class 2 firmware)
  59.     o a bug was fixed in the Class 2 modem setup code where the server
  60.       could hangup if a modem was wedged
  61.     o Practical Peripherals modems are now automatically recognized as
  62.       not properly handling the +FDIS command and their capabilities are
  63.       restricted so that they work correctly (albeit in a limited configuration)
  64.     o most of the Class 2-related commands are now settable through the
  65.       modem configuration file
  66.     o the Class 2 driver now ignores +FHR: status messages that are 
  67.       (incorrectly) sent to the host before a "+FCON" message
  68.     o the Class 1 and 2 drivers now interpret an "OK" result to a dial request
  69.       to mean "NO ANSWER" (for the AT&T DataPort)
  70.     o the negotiated min scanline time can now be controlled through info files
  71.     o the putModemLine method now observes the MaxPacketSize and
  72.       InterPacketDelay configuration parameters that can be used to throttle
  73.       writes to slow modems
  74.     o 76800 baud is now supported on systems that can hack it
  75.     o tempnam is now used instead of mkstemp when creating temp files for
  76.       received facsimile; this corrects a problem with being unable to
  77.       create lots of temp files
  78.     o the job requeue interval parameter specified on the command line is
  79.       now correctly applied to all appropriate situations
  80.     o jobs that encounter a protocol error are now retried more quickly
  81.     o jobs that fail with too many tries now return status that includes the
  82.       reason the last try failed
  83.     o several gcc compiler bugs have been (tenuously) worked around
  84.     o several IRIX 5.x-related problems have been worked around
  85.     o the server now correctly invokes the TIOCMBIS ioctl on Solaris 2 systems
  86.       (the way it used to work apparently caused some systems to crash)
  87.     o soft carrier is now automatically turned off on Solaris 2 systems
  88.     o the server status now reflects when it is preparing jobs for transmission
  89.     o the server now distinguishes between when a document file could not
  90.       be opened and when it was not valid TIFF
  91.     o a bug has been fixed where jobs were being rejected because the page
  92.       length was apparently not supported by the remote side
  93.     o several fixes for HPUX were added
  94.     o it is now easier to fiddle with the job queueing parameters; the default
  95.       values are all specified in the config.h file (FAX_REQBUSY, FAX_REQPROTO,
  96.       and FAX_REQUEUE) and can be overridden through the server config file
  97.       (see the JobReqBusy, JobReqNoAnswer, JobReqNoCarrier, JobReqProto, and
  98.       JobReqOther config parameters).
  99.     o it is now possible to control the UUCP lock file timeout handling
  100.       through the server config file (see the UUCPLockTimeout config parameter)
  101.  
  102. Changes to faxaddmodem:
  103.     o the scheme for identifying the system type is now identical to that
  104.       used by configure (it was too easily fooled)
  105.     o passmgmt is now looked for in both /bin and /usr/sbin
  106.     o a bug was fixed where the FaxMaster alias wasn't properly checked for
  107.       in the Yellow Pages (nee NIS)
  108.     o the "fax" user is now more carefully looked for in the password file
  109.     o server-related parameters are now properly merged into the prototype
  110.       configuration file (it used to depend on certain strings being identical
  111.       between old config files and prototype config files)
  112.     o a bug in the sed generated command used to edit the config files has
  113.       been corrected
  114.     o all parameters with embedded white space are correctly handled
  115.       (e.g. fax numbers with spaces)
  116.     o parameter strings with characters special to the shell and/or sed are
  117.       now properly escaped
  118.     o support was added for Class 2.0 modems
  119.     o a warning is now generated if multiple prototype config files exist
  120.       for the same product ID code (for Class 1 modems)
  121.     o if a modem supports multiple classes the user is prompted to choose
  122.       which class to configure
  123.     o a bug that kept the ModemRate parameter from being set interactively
  124.       has been fixed
  125.     o quoted fax numbers are now handled properly
  126.     o all the modem-related configuration parameters are now handled
  127.  
  128. Changes to faxmail:
  129.     o a bug was fixed in the calculation of tab stops
  130.     o a bug was fixed in calculating the total page count
  131.  
  132. Changes to faxmail:
  133.     o a bug that caused faxstat to exit with "Bad (null) user name" was fixed
  134.  
  135. Changes to faxd.recv:
  136.     o the static data structure returned by localtime is now copied instead
  137.       of referenced; this fixes a problem that caused core dumps on some
  138.       machines
  139.  
  140. Changes in the utility code:
  141.     o the ANSI C preprocessor facility for quoting tokens is now used
  142.       when supported
  143.     o some dead code that caused compiler warnings has been purged
  144.     o the FaxClient and SendFaxClient classes have a new API to deal with
  145.       their no longer calling fxFatal when an error is encountered; this
  146.       was done so that apps that use these classes can be more robust
  147.     o a new typetest program was added for testing typerules files
  148.     o the default notification scheme suppled by SendFaxClient is now
  149.       configurable through config.h (FAX_DEFNOTIFY)
  150.     o the recvstats and xferstats scripts now look for awk AFTER setting
  151.       up the shell search path
  152.     o the xferstats script now merges similar user accounts and is also
  153.       more careful about ignoring calls that fail during dialing--this
  154.       makes the generated statistics more informative
  155.     o a new file fax.chestrc is included to show how one might customize
  156.       the SGI toolchest program for FlexFAX
  157.     o a new shell script faxcron.sh is include for use on machines where
  158.       FlexFAX servers are run
  159.  
  160. Changes in the InterViews code:
  161.     o some portability problems in the Dispatcher class have been fixed
  162.     o a workaround for an IRIX 5.x kernel bug was added to the Dispatcher class
  163.     o the regular expression class no longer uses stream i/o for error
  164.       messages; this fixes a problem that caused core dumps in faxd.recv on
  165.       some systems
  166.     o the memory class no uses the standard mem* routines instead of bzero,
  167.       bcmp, and bcopy
  168.  
  169. Changes to the manual pages:
  170.     o faxcron(1M) is a new page that describes the util/faxcron.sh script
  171.  
  172. FlexFAX, Version 2.2.1 (changes since Release 2.1.0)
  173. ----------------------------------------------------
  174.  
  175. General changes:
  176.     o it is now possible to configure a default page size (e.g. ISO A4)
  177.       to use for outgoing facsimile; an external database of page sizes
  178.       makes it easy to define new page sizes and to alter the default;
  179.       programs that need a page size to be specified support a -s option
  180.       for doing this
  181.     o the default vertical resolution to use for outgoing facsimile is
  182.       now configurable at compile time through the configure script
  183.     o local dialing conventions are now specified in a ``dial string rules''
  184.       file that is read by the fax server; these rules define how to craft
  185.       canonical phone numbers from dialing strings and how to process a
  186.       user-supplied dial string before it is presented to the modem
  187.     o private information that must be specified in a dial string (e.g.
  188.       credit card access codes) can be hidden by setting up dial string
  189.       rules for the client applications
  190.     o the lptops utility used in 2.1.0 has been replaced by a new textfmt
  191.       program that is less general, but more integrated with the system
  192.     o the fax server can be commanded to answer an incoming call explicitly
  193.       as fax, data, or voice (though voice has no effect right now)
  194.     o support has been added to the server for two adaptive answering schemes
  195.       that are implemented entirely in the server; the first scheme causes
  196.       the server to answer a call first as fax and then as data; in the second
  197.       scheme the server rotates call answering among a set of techniques
  198.       (data, fax, voice); see the README file and the config(4F) manual page
  199.       for more information
  200.     o at(1) is no longer used for delayed submission and job timeout (the
  201.       server now handles these tasks internally)
  202.     o user notification by the server is now done through shell scripts
  203.     o users may now tag outgoing jobs with an arbitrary identification string
  204.       that is returned in any notification messages
  205.     o more job parameters can be altered after a job is submitted: time-to-send,
  206.       killtime, and max retries.
  207.  
  208.     o a port to 4.4BSD has been added, consult port/4.4bsd/README
  209.     o a port to Linux has been added, consult port/linux/README
  210.     o a port to AIX 3.2.3 has been added, consult port/aix32/README
  211.     o a port to Ultrix 4.2a has been added, consult port/ultrix/README
  212.     o an unfinished port to HPUX 9.0 has been added, consult port/hpux/README
  213.  
  214.     o support has been added for the US Robotics Courier Class 1 modem
  215.     o support has been added for the US Robotics Sportster Class 1 modem
  216.     o support has been added for the AT&T DataPort Class 1 modem (including
  217.       a workaround for a bug in the 1.22 firmware)
  218.     o support has been added for the PPI PM14400FXMT and PM14400FXSA modems
  219.     o support has been added for modems based on the Rockwell RCS32ACL
  220.  
  221.     o Ghostscript 2.6.1 (w/ patches) is now the "approved" PD PostScript
  222.       interpreter to use with the software
  223.     o gcc 2.4.5 and libg++-2.4 are now the "approved" PD compiler suite to use
  224.     o a tree of contributed stuff that doesn't really belong in the mainstream
  225.       distribution has been started--check out the contrib area in the public
  226.       ftp area on the host sgi.com (sgi/fax/contrib)
  227.     o the flexfax mailing list (flexfax@sgi.com) is now managed automatically;
  228.       users should send mail to majordomo@whizzer.wpd.sgi.com (consult the
  229.       README or HOWTO files for full information)
  230.  
  231. Changes in the "top of the tree":
  232.     o the MODEMS file talks about more modems
  233.     o the README file now identifies which modems are recommended for use
  234.     o configure now builds a port.h file to cover up missing external
  235.       declarations, variables, and #define macros
  236.     o client library information is now installed into configurable LIBDATA
  237.       and LIBEXEC areas; so that machine-independent data files can be shared
  238.       across multiple architectures
  239.  
  240. Changes in the ghostscript support:
  241.     o several bugs in the tiffg3 driver have been corrected
  242.  
  243. Changes in the port tree:
  244.     o new 4.4bsd, linux, aix32, and ultrix directories
  245.     o Tim Rylance's streams module for using Class 1 modems on Sun systems
  246.       is included (and faxd has been patched to use it if it is loaded into
  247.       the operating system)
  248.     o all top-level make files are now named Makefile.flexfax
  249.     o all gcc-based ports no longer reference -liberty
  250.     o generic/mkdepend has a workaround for systems with busted shells
  251.  
  252. Changes to faxd:
  253.     o it is now permissible for 2D encoded data to be sent to a fax machine
  254.       that has not previously been called
  255.     o the fax machine information database has been extended to permit
  256.       individual machines to be ``disabled'' with any submitted jobs returned
  257.       to sender w/ a machine-specific rejection notice
  258.     o the ModemType configuration parameter is no longer treated as a hint;
  259.       the modem will not be probed as any other kind if the type is specified
  260.       to be ``Class1'', ``Class2'', or ``Everex''/``Abaton''; the old behaviour
  261.       can be obtained by not specifying a ModemType or by specifying the type
  262.       as ``Unknown''
  263.     o there are new configuration parameters for responding to explicit
  264.       requests to answer an incoming call as fax, data, or voice; there
  265.       are Modem*AnswerCmd parameters and ModemAnswer*Begin parameters for
  266.       forcing actions such as baud rate change on answer
  267.     o the total number of phone calls placed for an outgoing job can now be
  268.       controlled
  269.     o dial string handling is now defined by an external set of rules
  270.     o a workaround was added for systems where opening FIFO files read-only
  271.       causes problems (SCO ODT 2.0, AIX 3.2.3, Ultrix 4.2A)
  272.     o the notification done for received facsimile now contains all available
  273.       information (most importantly any error that occurred)
  274.     o the server now correctly handles renegotiation of session parameters
  275.       due to variations in the input data; it used to violate the T.30
  276.       protocol by requesting parameter renegotiation without notifying the
  277.       remote side through the end-of-page message
  278.     o the server now correctly identifies when a remote site has documents
  279.       available for polled retrieval (it previously always assumed there
  280.       were documents available)
  281.     o the server now invokes the bin/pollrcvd script to deliver each document
  282.       received during a poll
  283.     o the server now invokes the bin/faxrcvd script for each received facsimile
  284.     o the server now invokes the bin/notify script for user notification (such
  285.       as when a job is requeued)
  286.     o the server now records the remote CSI in the info/* files
  287.     o the data in the info directory is now partitioned strictly between
  288.       cached data (kept in the info directory) and static data (kept in the
  289.       new cinfo directory)
  290.     o it is now possible to configure a per-machine session tracing level
  291.       by creating an entry in the cinfo directory
  292.     o the session logging facility now supports the syslog-style %m format
  293.       for recording system call errors
  294.     o AT command strings may now include escape codes to force the server to
  295.       reconfigure the baud rate and/or flow control scheme at any time that
  296.       a configurable command is transmitted to a modem
  297.     o the baud rate hunting logic has been removed; host-modem communication
  298.       is now locked at a fixed baud rate (except when changed by escape codes)
  299.     o getty processes are now reaped immediately by catching SIGCLD instead
  300.       of polling for process exit
  301.     o support has been added for modems that send "FAX" or "DATA" before
  302.       "CONNECT" when answering an inbound call
  303.     o the server no longer loses memory when receiving facsimile
  304.     o the protection mode set by the server is now configurable
  305.     o the server automatically uses the zsunbuf stream i/o module on Sun
  306.       systems if it has been configured in the kernel
  307.     o a mistake in the calculation of the random backoff interval when
  308.       requeuing a job has been corrected
  309.     o the accounting information has been expanded
  310.  
  311.     [Class 1]
  312.  
  313.     o a bug has been fixed in the Class 1 driver for modems that have
  314.       different xmit and recv capabilities--the recv capabilities were
  315.       being used to decide the best signalling rate at which to xmit
  316.     o the Class 1 driver now accepts ASCII data in received TSI/CIG string
  317.     o the Class 1 driver receive frame abort logic has been extended to
  318.       support modems that do not respond well to the usual resynchronization
  319.       scheme
  320.     o the Class 1 driver timeout on receiving the initial identification
  321.       frames can now be configured separately for use with the adaptive answer
  322.       scheme implemented in the server
  323.     o the Class 1 driver no longer assumes that a "CONNECT" response to an
  324.       answer command implies a fax connection--instead the connection type
  325.       is selected according to the answering request
  326.     o a bug has been fixed in the Class 1 driver that caused spurious error
  327.       messages to be returned when answering an incoming call
  328.     o the Class 1 driver now properly formulates the min scanline time
  329.       parameter in the DCS for all times
  330.     o the Class 1 driver is now more careful to avoid looping if the remote
  331.       side prematurely drops carrier
  332.     o HDLC frame handling has been parameterized to deal with modems that
  333.       do not include the FCS bytes in received frames (e.g. the AT&T DataPort)
  334.     o a bug has been fixed in the Class 1 driver that caused a failure
  335.       message to be recorded for successfully received facsimile
  336.     o the Class 1 driver will no longer loop if the modem drops carrier w/o
  337.       notifying the host when waiting for DCN in Class1Modem::recvEnd (as
  338.       done by the USR Courier)
  339.     o a bug was fixed in the Class 1 driver's xmit protocol (a DIS response
  340.       to sending training was not correctly handled)
  341.     o the Class 1 driver now only tries to send training 3 times (per the spec)
  342.     o the Class 1 driver now correctly specifies 7200bps v.17 in the DCS
  343.  
  344.     [Class 2]
  345.  
  346.     o typos in the Class 2 error message table were fixed
  347.     o the Class 2 driver now ignores suprious modem status msgs when sending
  348.     o the Class 2 driver is now more careful about receiving invalid +FDCS
  349.       and +FDIS result strings from the modem
  350.     o the Class 2 driver now generates fully specified +FDCC and +FDIS commands
  351.       to workaround firmware bugs in some modems (defaulted parameters are
  352.       incorrectly treated as 0 on PPI modems and others)
  353.     o ZyXEL modems with rev 6.01 or newer firmware are now permitted to
  354.       send high res (196lpi) and 2D-encoded data
  355.     o PPI modems with rev 2.17 or older firmware are not permitted to send
  356.       high res (196lpi) or 2D-encoded data 'cuz of firmware problems
  357.  
  358. Changes to faxaddmodem:
  359.     o a different algorithm is used for identifying Class 1 modems;
  360.       the product code returned by ATI0 is now used
  361.     o there no longer is a builtin notion of what modems have prototype
  362.       configuration files; config files are now searched for in the etc
  363.       subdirectory of the spooling area
  364.     o faxaddmodem is no longer is fooled by the installation of other
  365.       fax packages that have a similar /etc/services entry
  366.     o certain alternative locations for system files are now handled
  367.       transparently
  368.     o a better job is done identifying if Yellow Pages/NIS is in use
  369.     o the fax number no longer must be specified in a fixed format
  370.     o various portability problems have been worked around
  371.  
  372. Changes to sendfax:
  373.     o has been rewritten to use a new SendFaxClient class that encapsulates
  374.       the real work done in submitting a job
  375.     o updated to handle different page sizes
  376.     o has a new -t option to set the number of times a job should be ``tried''
  377.       (i.e. the phone should be dialed)
  378.     o has a new -i option to specify a job identification tag
  379.     o a bug that caused fully qualified from addresses to not work has been
  380.       corrected
  381.     o local dial string rules may be applied to the user-specified dial
  382.       strings to create ``displayable'' phone numbers that do not include
  383.       private information such as credit card access codes
  384.  
  385. Changes to faxalter:
  386.     o has a new -t option to specify the max number of tries
  387.     o has a new -k option to specify the killtime for a job
  388.  
  389. Changes to faxcover:
  390.     o updated to handle different page sizes
  391.     o if a FAXCOVER environment variable is set, it's value is used as the
  392.       pathname of the template file
  393.  
  394. Changes to faxmail:
  395.     o updated to handle different page sizes
  396.     o now looks for AFM files with a .afm suffix (for folks with
  397.       OpenWindows AFM files)
  398.     o a mailfax script for smail has been added
  399.  
  400. Changes to fax2ps:
  401.     o no changes
  402.  
  403. Changes to sgi2fax:
  404.     o updated to handle different page sizes
  405.  
  406. Changes to faxstat:
  407.     o now uses the page size database to determine page size information
  408.       for facsimile in the receive queue
  409.  
  410. Changes in the utility code:
  411.     o two bugs have been fixed in the FaxClient class's handling of the
  412.       GECOS field in the password file
  413.     o new classes were added for: accessing the page size database
  414.       (PageSize.c++), for sending facsimile (SendFaxClient.c++), and for
  415.       accessing the rule typing database used in converting documents for
  416.       transmission (TypeRules.c++)
  417.     o a new program, textfmt, replaces the lptops program
  418.     o a bug was fixed in the fxStr class where inserting into the start of
  419.       a null string caused problems
  420.     o a new %s escape was added to the typerules support for passing the
  421.       symbolic page size name to filter programs
  422.     o faxanswer now takes a -h option to specify how to answer an incoming
  423.       call (``fax'', ``data'', and ``voice'' strings are recognized)
  424.     o faxinfo now uses the page size database to print out page size names
  425.     o notify.sh has been renamed faxrcvd.sh and changed to take more
  426.       arguments and pass the additional information on to the FaxMaster user
  427.     o notify.sh is now the script invoked to send notification mail to a user
  428.     o rts.sh has been subsumed by notify.sh
  429.     o a new file, pagesizes, is a database of recognized page sizes
  430.     o a new file pollrcvd.sh is a command script invoked to deliver each
  431.       document received during a poll
  432.     o faxsubmit is no longer needed
  433.     o submit2at is no longer needed
  434.     o probemodem.sh is a new shell script that probes a modem and reports
  435.       responses to certain Class 1 and Class 2 commands; it is useful to
  436.       see how closely a modem conforms to the Class 1/2 specifications
  437.       that flexfax assumes
  438.     o xferstats.sh is a shell script for processing accounting information
  439.       for transmitted facsimile
  440.     o recvstats.sh is a shell script for processing accounting information
  441.       for received facsimile
  442.  
  443. Changes to faxd.recv:
  444.     o the code that reads job description files is now more careful to
  445.       ignore corrupted or partially written files
  446.     o the main command parser was rewritten
  447.     o support was added for the alteration of more job parameters
  448.     o the root user is now treated like the fax user (i.e. it is permitted
  449.       to do privileged operations)
  450.  
  451. Changes in the InterViews code:
  452.     o the Regexp class has been extended to provide access to the pattern
  453.       string
  454.     o the regexp code has been changed to recognize "\(\)" instead of "()"
  455.       for identifying substrings in matches
  456.     o the dispatcher code is now capable of waiting on the termination
  457.       (actually change in status) of one or more child processes
  458.  
  459. Changes in the doc directory:
  460.     o the old fax.ps paper was purged 'cuz it generated too much confusion
  461.     o a list of commands for Telebit modems has been added
  462.  
  463. Changes to the manual pages:
  464.     o flexfax(1) is a new page that gives an overview of the client apps
  465.     o pagesizes(4F) is a new page that describes the page size database
  466.     o dialrules(4F) is a new page that describes the dial string rules file
  467.     o textfmt(1) is a new page that describes the new text formatting program
  468.     o flexfax(4F) was renamed intro(4F) to avoid a name clash
  469.     o cinfo(4F) is a new page that descripts the control info directory
  470.     o pathnames in installed manual pages now reflect the local configuration
  471.     o dialtest(1M) is a new page for the dial string rules file test program
  472.     o notify(1M) is a new page that describes the bin/notify script
  473.     o faxrcvd(1M) is a new page that describes the bin/faxrcvd script
  474.     o pollrcvd(1M) is a new page that describes the bin/pollrcvd script
  475.     o transcript(1M) is a new page that describes the bin/transcript script
  476.     o recvstats(1M) is a new page that describes the bin/recvstats script
  477.     o xferstats(1M) is a new page that describes the bin/xferstats script
  478.